$LC0:
; \000 это ноль в восьмеричной системе:
	.ascii	"Hello, world!\012\000"
main:
; пролог функции
; установить GP:
	lui	$28,%hi(__gnu_local_gp)
	addiu	$sp,$sp,-32
	addiu	$28,$28,%lo(__gnu_local_gp)
; сохранить RA в локальном стеке:
	sw	$31,28($sp)
; загрузить адрес функции puts() из GP в $25:
	lw	$25,%call16(puts)($28)
; загрузить адрес текстовой строки в $4 ($a0):
	lui	$4,%hi($LC0)
; §перейти на puts(), сохранив адрес возврата в link-регистре:§
	jalr	$25
	addiu	$4,$4,%lo($LC0) ; branch delay slot
; восстановить RA:
	lw	$31,28($sp)
; скопировать 0 из $zero в $v0:
	move	$2,$0
; вернуть управление сделав переход по адресу в RA:
	j	$31
; эпилог функции:
	addiu	$sp,$sp,32 ; branch delay slot + §освободить стек от локальных переменных§

